format 8 
epsilon basic 1.0e-16 
epsilon uniform 1.0e-16 
epsilon findeigen 1.0e-16 
epsilon results 1.0e-18 
epsilon sorteigen 1.0e-16 

* Functions & variables part:
func gdmm() 
if ( (g<#(PK2)) and (#(PK2)<b) )
1
else
0
end
end

func gdMm() 
if ( (#(PK2)>=b) )
1
else
0
end
end

func gdtrn() 
if ( #(PK2) > 0 )
1
else
0
end
end

func gdtRN() 
if ( #(PK2) > 0 )
0
else
1
end
end


bind 
N   7
N1   N-1
K   5
lam   7
mu   1/(0.25)
lamD   0.03
lam0   0.03
mu0   1
end


srn model1(mum, lamIn, muIn, muM, muD)  
  * == PLACE == 
  Pidl 0
  PLU N1
  Ppr 1
  Pqu 0
  PK1 K
  Pins 0
  Pdec 0
  Pmm 0
  Pmm1 0
  Pmr 0
  PMm 0
  Prn 0
  Pd1 0
  Pd2 0
  PK2 0
  PMr 0
  end
  * == Timed Transitions == 
  Tpr ind mu priority 10 
  Tmm ind mum priority 10 
  TPI ind lamIn priority 10 
  Tins ind muIn priority 10 
  TLU ind lam priority 10 
  Tf ind lam0 priority 10 
  Tmr ind mu0 priority 10 
  TMm ind muM priority 10 
  Td placedep PK1 lamD priority 10 
  TMr ind muD priority 10 
  end
  * == Immediate Transitions ==  
  tNA ind 0.5 priority 10 
  tmm ind 0.5 guard gdmm() priority 20 
  tMm ind 0.5 guard gdMm() priority 30 
  tint ind 0.5 priority 10 
  tmm2 ind 0.5 priority 10 
  trn ind 0.5 guard gdtrn() priority 10 
  td1 ind 0.5 priority 10 
  td2 ind 0.5 priority 10 
  tRN ind 0.5 guard gdtRN() priority 10 
  tDF ind 0.5 priority 20 
  end
  * == ARC == 
  * Input Arcs 
  Ppr Tpr 1
  Pqu tint 1
  PLU TLU 1
  Pidl tint 1
  Ppr TPI 1
  Pins Tins 1
  Pdec tNA 1
  Pdec tmm 1
  Pdec tMm 1
  Pmm Tmm 1
  Pmm1 tmm2 1
  Ppr Tf 1
  Pmr Tmr 1
  PMm TMm 1
  Prn trn 1
  Ppr Td 1
  Pd1 td1 1
  Pd2 td2 1
  PK1 Td 1
  PK2 tmm2 1
  PMr TMr 1
  Prn tRN 1
  PK2 tDF K
  Pd2 tDF 1
  end
  * Output Arcs 
  Tpr Pidl 1
  tint Ppr 1
  TLU Pqu 1
  Tpr PLU 1
  TPI Pins 1
  Tins Pdec 1
  tNA Ppr 1
  tmm Pmm 1
  Tmm Pmm1 1
  tmm2 Ppr 1
  tmm2 PK1 1
  Tf Pmr 1
  Tmr Ppr 1
  tMm PMm 1
  TMm Prn 1
  trn Prn 1
  trn PK1 1
  Td Pd1 1
  td1 Pd2 1
  td2 Ppr 1
  td1 PK2 1
  TMr PK1 K
  tRN Ppr 1
  tDF PMr 1
  TMr Prn 1
  end
  * Inhibtor Arcs 
end


echo *********************************************************************** 
echo *********  Outputs asked for the model: model1 ************** 

echo Steady-state throughput for tcov 
* expr tput(model1,Tpr; 1/2, 1/15, 1/.5, 1/5, 1/40) 
expr tputt(10;model1,tNA; 1/2, 1/15, 1/.5, 1/5, 1/40) 

end


